#include <REGX52.H>

//the driver to control the Nixietube
//start
unsigned char NixieTable[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
							  0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,
							  0x00};
/*
	because The order of the Nixietube is reversed
	this function is from left to right to selet
*/

/*
		To using this function (the NIXIETUBE num you want to control , the number you want to display)			
			Author:aquawius
	
*/
void Nixietube(unsigned char Location, Number){
	switch(Location){
		case 1:P2_4 = 1;P2_3 = 1;P2_2 = 1;break;
		case 2:P2_4 = 1;P2_3 = 1;P2_2 = 0;break;
		case 3:P2_4 = 1;P2_3 = 0;P2_2 = 1;break;
		case 4:P2_4 = 1;P2_3 = 0;P2_2 = 0;break;
		case 5:P2_4 = 0;P2_3 = 1;P2_2 = 1;break;
		case 6:P2_4 = 0;P2_3 = 1;P2_2 = 0;break;
		case 7:P2_4 = 0;P2_3 = 0;P2_2 = 1;break;
		case 8:P2_4 = 0;P2_3 = 0;P2_2 = 0;break;
	}
	
	P0 = NixieTable[Number];
}
//end